package team.seekers.catering.food.entity.vo.info;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import team.seekers.catering.food.entity.pojo.ContainIngredientListVO;
import team.seekers.catering.food.entity.pojo.ContainNutrimentListVO;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.List;

/**
 * 单品详情
 * @author hbc
 * @since 2022-02-19
 */

@Data
public class FoodInfoVO {

    private String id;

    @NotBlank(message = "食谱名称不能为空")
    @Size(max = 20, message = "食谱名称长度不能超过20")
    private String name;

    @NotBlank(message = "食谱描述不能为空")
    @Size(max = 255, message = "食谱名称长度不能超过20")
    private String description;

    @NotNull(message = "食材组成不能为空")
    private List<ContainIngredientListVO> ingredientContent;

    @NotBlank(message = "请上传食谱图片")
    @Size(max = 255, message = "食谱名称长度不能超过20")
    private String picture;

    @ApiModelProperty(value = "食物售价")
    private BigDecimal sellingPrice;

    private Integer type;

    @ApiModelProperty(value = "食物总质量")
    private Integer amount;

    @ApiModelProperty(value = "销量")
    private Integer orderAmount;

    @ApiModelProperty(value = "食物热量")
    private Integer kal;

    @ApiModelProperty(value = "食物成本")
    private BigDecimal price;

    @ApiModelProperty(value = "蛋白质供能比")
    private Integer proEr;

    @ApiModelProperty(value = "脂肪供能比")
    private Integer fatEr;

    @ApiModelProperty(value = "碳水供能比")
    private Integer choEr;

    @ApiModelProperty(value = "饱腹感指数")
    private BigDecimal satietyIndex;

    @ApiModelProperty(value = "营养饱和度")
    private BigDecimal nfs;

    @ApiModelProperty(value = "能量密度")
    private BigDecimal ed;

    @ApiModelProperty(value = "营养素参考值")
    private List<ContainNutrimentListVO> nrv;

}
